package com.hzlj.position.locate.common.dto.reportVideo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fz.common.base.dto.QueryResultCommonDTO;
import com.fz.common.dict.annotation.Dict;
import com.hzlj.position.config.common.dto.common.PositionHandleExtDTO;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.Map;

import static com.fz.common.base.core.date.DateUtils.*;

/**
 * 通信联络核查-视频核验(ReportVideo)查询结果返回DTO
 *
 * @author lifh
 * @date 2023-03-15 22:27:49
 */
@Data
@ToString
@Accessors(chain = true)
public class ReportVideoQueryResultDTO extends QueryResultCommonDTO<String> {
    /**
     * 主键
     */
    private String id;
    /**
     * 所属天
     */
    @JsonFormat(locale = LOCALE, timezone = TIME_ZONE, pattern = DATE_SHORT_FORMAT)
    private Date belongDay;
    /**
     * 矫正ID(jz_jbxx)
     */
    private String jzId;
    /**
     * 上报状态,dict-REPORT_STATUS
     */
    @Dict(value = "REPORT_STATUS")
    private String reportStatus;
    /**
     * 上报状态,dict-REPORT_STATUS(文本)
     */
    private String reportStatusText;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 上报位置
     */
    private String reportAddress;
    /**
     * 视频开始时间
     */
    private Date videoStartTime;
    /**
     * 视频结束时间
     */
    private Date videoEndTime;
    /**
     * 视频通话时长（毫秒）
     */
    private Integer videoDuration;
    /**
     * 视频状态,dict-VIDEO_STATUS
     */
    @Dict("VIDEO_STATUS")
    private String videoStatus;
    /**
     * 视频状态,dict-VIDEO_STATUS(文本)
     */
    private String videoStatusText;
    /**
     * 视频会话ID
     */
    private String bussId;
    /**
     * 额外参数,map
     */
    private Map<String, Object> ext;
    /**
     * 处理状态,dict-HANDLE_STATUS
     */
    @Dict("HANDLE_STATUS")
    private String handleStatus;
    /**
     * 处理状态,dict-HANDLE_STATUS(文本)
     */
    private String handleStatusText;
    /**
     * 异常处理时间,当前更新时间
     */
    private Date handleTime;
    /**
     * 异常处理数据,json-PositionHandleExtDTO
     */
    private PositionHandleExtDTO handleExt;
}
